home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 1.iso
/
ARGONET
/
PD
/
GAMES
/
NETHACK.SPK
/
ReadMe's
/
UL_ReadMe
< prev
Wrap
Text File
|
1991-12-09
|
6KB
|
111 lines
UnixLib v3.5c (29/11/1991)
UNIX is a registered trademark of AT&T Bell Laboratories.
This is a complete replacement ANSI compliant C library for use
with Acorn RiscOS ANSI C Release 3.0/3.1A/3.1B/4.0. It incorporates a
full Version 7 UNIX system call interface, with some common System V and
4.3 BSD C libraries. There is *no* Acorn software in this library - take
note Acorn! ;-)
Csh style command line redirection is now inbuilt to UnixLib.
UnixLib programs that are invoked direct from OS_CLI scan the command line
for redirections at the same time as performing argument processing. UnixLib
programs invoked as children of other UnixLib programs inherit the parent's
file descriptor set (as in UNIX), and therefore do not perform this scanning.
Redirection directives that are supported are: ">", ">>", ">&", ">>&", "<".
Programs compiled using UnixLib now assume UNIX style pathnames
at all times. In order to use RiscOS style names you must specify a full
RiscOS pathname including the filesystem ("FS::Media.Path"), or specify a
pathname from the root, current, library, upper, or user-root directories
("$.Path", "@.Path", "%.Path", "^.Path", or "&.Path"), or commence the
pathname with a RiscOS variable reference ("<Var>.Path" or "<Var>Path").
Filenames not matching these patterns will be translated as described below.
There are environment variables specific to UnixLib programs;
some are new to v3.5c and others have had their names changed:
Unix$uid: If set, then it's value is used to set the UNIX uid and the
Escape (SIGINT) character is set to '^C' (ctrl C). If unset the Escape
character is set to '^[' as normal. The Escape character is always reset at
termination.
Unix$tty: controls which terminal file programs use - if unset or set
to "/dev/console" or "/dev/tty" then the console (Archimedes keyboard/screen)
is assumed; if set to "/dev/rs423" then the RS423 port is used. Other names
may be allocated in future for multiple serial I/O ports, Econet, etc. Note
that these names may be used by UnixLib programs to open the terminal
devices.
UNIX -> RiscOS filename translation:
Pathnames referring to UNIX devices (of the form "/dev/xxx") are
treated specially and refer to appropriate devices. Unrecognised devices
are translated to "xxx:". Current recognised devices are "/dev/tty",
"/dev/console", "/dev/rs423" and "/dev/null".
Variables of the form UnixFS$/xxx are used to alias UNIX pathnames
of the form "/xxx", "/usr/xxx" or "/var/xxx". I.e. UnixFS$/etc controls the
translation of "/etc", "/usr/etc" and "/var/etc". The files in "etc" on the
distribution disk should be present in this directory. If you have a hard
disk, just one copy of "etc" should be present on the hard disk, and
UnixFS$/etc should be set to something like "adfs::4.$.etc".
In a similar way, UnixFS$/tmp, UnixFS$/bin and UnixFS$/usr can
be used to alias "/tmp", "/bin", and "/usr". Note however that UnixFS$/bin
will be consulted to translate "/usr/bin" before UnixFS$/usr is consulted
to translate "/usr". A pathname commencing "/xxx" where UnixFS$/xxx is unset
defaults to "$.xxx". A pathname commencing "/usr/xxx" where UnixFS$/xxx is
unset and UnixFS$/usr is unset defaults to "$.usr.xxx".
"/tmp" and "/usr/tmp" are used by UnixLib programs for temporary
files. UnixFS$/tmp should be set to a suitable directory, preferably on a
hard disk.
"/bin" and "/usr/bin" are expected by some UNIX software to contain
standard UNIX utilities (ls, cat, sh, etc.). If necessary, UnixFS$/bin should
be set to a directory containing UNIX utility programs.
"/pipe" is used to store temporary files for the pipe() system call.
Preferably UnixFS$/pipe should be set to a directory on a hard disk or RAM
disk for decent throughput.
UNIX style filenames can now contain a special first component
to indicate the RiscOS File System (FS) and media: "/adfs::4/etc/passwd"
translates to "adfs::4.$.etc.passwd". Note that in this case the "/etc" is not
aliased using UnixFS$/etc, for what should be obvious reasons. Similarly
"adfs::4/etc/passwd" and "adfs::4.etc.passwd" are the same name.
Filename suffix translation can now be customised. The variable
UnixFS$sfix can be set to a colon separated value list of filename
suffixes that are to be aliased to RiscOS subdirectories. If it is unset
the default list is "a:c:f:h:i:l:o:p:s:y". I.e. "hero.c" gets translated
to "c.hero".
Note that UNIX programs which wish to use pathnames with initial
components that look like RiscOS FS/drive specifiers will have to be
modified.
All user settable environment variables particular to UnixLib are
prefixed with Unix$ or UnixFS$. However certain state information internal
to UnixLib is stored in variables prefixed with UnixLib$ - such variables
should be ignored and not altered or deleted. UnixLib$dir (set by the !Alias
command file in this distribution) is only used when compiling with UnixLib,
and does not need to be set for UnixLib compiled programs to run.
The standard UNIX environment variables which control the behaviour
of some of the C libraries are as normal - SHELL, TERM, TERMCAP, etc.
Note that system() ignores the requirement for a shell if SHELL is unset,
but calls SHELL with the '-c' option (as per UNIX) is it is set. I.e. if you
have GNU bash in adfs::4.$.library you should set SHELL to
"adfs::4.$.library.bash".
I can be contacted at:
Mail: Chandos Hall, Granby Row, Manchester, M1 3QJ, U.K.
Tel.: (061) 200 3131
Email: rogersh%p4@cs.man.ac.uk
After July 1992 I can be contacted at:
Mail: The Beeches, North Road, Sherborne, Dorset, U.K.
H.Rogers